package MAIN;
import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;

import static java.lang.String.format;

import java.security.MessageDigest;
import java.math.BigInteger;

public class Hash_SHA256 {
	    public static String sha256(String text) throws Exception 
            {
                MessageDigest md = MessageDigest.getInstance("SHA-256");        	
                md.update(text.getBytes("UTF8"), 0, text.length());            
                String s = convertToHex(md.digest());
                //System.out.println(s);
                return s;
	    }
            
            public static String sha1(String text) throws Exception 
            {
                MessageDigest md = MessageDigest.getInstance("SHA-1");        	
                md.update(text.getBytes("UTF8"), 0, text.length());            
                String s = convertToHex(md.digest());
                //System.out.println(s);
                return s;
	    }
            
	    private static String convertToHex(byte[] data) 
            {
	        StringBuffer buf = new StringBuffer();
	        for (int i = 0; i < data.length; i++) {
	            int halfbyte = (data[i] >>> 4) & 0x0F;
	            int two_halfs = 0;
	            do {
	                if ((0 <= halfbyte) && (halfbyte <= 9))
	                    buf.append((char) ('0' + halfbyte));
	                else
	                    buf.append((char) ('a' + (halfbyte - 10)));
	                halfbyte = data[i] & 0x0F;
	            } while (two_halfs++ < 1);
	        }
	        return buf.toString();
	    }
	  
            public static void main(String[] args) throws Exception 
            {
		//Test SHA-256
		String input = "Anh la Dung";
		Hash_SHA256.sha256(input);
            }
}
